package com.hsgene.generator.service;

import com.hsgene.common.util.result.ApiResult;
import com.hsgene.generator.dto.GeneratorDto;

/**
 * ID生成器Service
 *
 * @author wangbing
 * @version 1.0, 2018/6/28
 */
public interface GeneratorService {

    /**
     * 根据type类型生成相应编号
     *
     * @param type   编号类型
     * @param prefix 编号前缀（可空）
     * @return 生成结果
     */
    ApiResult<GeneratorDto> generate(String type, String prefix);

    /**
     * 64位编号生成
     *
     * @param prefixType   前缀
     * @param workerId     工作id
     * @param datacenterId 数据中心id
     * @return
     */
    ApiResult<GeneratorDto> numberGenerator(String prefixType, Integer workerId, Integer datacenterId);
}
